// 省市区数据
import { districts as districtsData } from './region-districts'

export const regionData = {
  provinces: [
    { value: '530000', text: '云南省' },
    { value: '520000', text: '贵州省' },
    { value: '510000', text: '四川省' },
    { value: '500000', text: '重庆市' },
    { value: '450000', text: '广西壮族自治区' },
    { value: '110000', text: '北京市' },
    { value: '120000', text: '天津市' },
    { value: '130000', text: '河北省' },
    { value: '140000', text: '山西省' },
    { value: '150000', text: '内蒙古自治区' },
    { value: '210000', text: '辽宁省' },
    { value: '220000', text: '吉林省' },
    { value: '230000', text: '黑龙江省' },
    { value: '310000', text: '上海市' },
    { value: '320000', text: '江苏省' },
    { value: '330000', text: '浙江省' },
    { value: '340000', text: '安徽省' },
    { value: '350000', text: '福建省' },
    { value: '360000', text: '江西省' },
    { value: '370000', text: '山东省' },
    { value: '410000', text: '河南省' },
    { value: '420000', text: '湖北省' },
    { value: '430000', text: '湖南省' },
    { value: '440000', text: '广东省' },
    { value: '460000', text: '海南省' },
    { value: '540000', text: '西藏自治区' },
    { value: '610000', text: '陕西省' },
    { value: '620000', text: '甘肃省' },
    { value: '630000', text: '青海省' },
    { value: '640000', text: '宁夏回族自治区' },
    { value: '650000', text: '新疆维吾尔自治区' }
  ],
  cities: {
      // 北京市
    '110000': [{ value: '110100', text: '北京市' }],
      // 天津市
    '120000': [{ value: '120100', text: '天津市' }],
     // 河北省
    '130000': [
      { value: '130100', text: '石家庄市' },
      { value: '130200', text: '唐山市' },
      { value: '130300', text: '秦皇岛市' },
      { value: '130400', text: '邯郸市' },
      { value: '130500', text: '邢台市' },
      { value: '130600', text: '保定市' },
      { value: '130700', text: '张家口市' },
      { value: '130800', text: '承德市' },
      { value: '130900', text: '沧州市' },
      { value: '131000', text: '廊坊市' },
      { value: '131100', text: '衡水市' }
    ],
      // 山西省
    '140000': [
      { value: '140100', text: '太原市' },
      { value: '140200', text: '大同市' },
      { value: '140300', text: '阳泉市' },
      { value: '140400', text: '长治市' },
      { value: '140500', text: '晋城市' },
      { value: '140600', text: '朔州市' },
      { value: '140700', text: '晋中市' },
      { value: '140800', text: '运城市' },
      { value: '140900', text: '忻州市' },
      { value: '141000', text: '临汾市' },
      { value: '141100', text: '吕梁市' }
    ],
      // 内蒙古自治区
    '150000': [
      { value: '150100', text: '呼和浩特市' },
      { value: '150200', text: '包头市' },
      { value: '150300', text: '乌海市' },
      { value: '150400', text: '赤峰市' },
      { value: '150500', text: '通辽市' },
      { value: '150600', text: '鄂尔多斯市' },
      { value: '150700', text: '呼伦贝尔市' },
      { value: '150800', text: '巴彦淖尔市' },
      { value: '150900', text: '乌兰察布市' },
      { value: '152200', text: '兴安盟' },
      { value: '152500', text: '锡林郭勒盟' },
      { value: '152900', text: '阿拉善盟' }
    ],
      // 辽宁省
    '210000': [
      { value: '210100', text: '沈阳市' },
      { value: '210200', text: '大连市' },
      { value: '210300', text: '鞍山市' },
      { value: '210400', text: '抚顺市' },
      { value: '210500', text: '本溪市' },
      { value: '210600', text: '丹东市' },
      { value: '210700', text: '锦州市' },
      { value: '210800', text: '营口市' },
      { value: '210900', text: '阜新市' },
      { value: '211000', text: '辽阳市' },
      { value: '211100', text: '盘锦市' },
      { value: '211200', text: '铁岭市' },
      { value: '211300', text: '朝阳市' },
      { value: '211400', text: '葫芦岛市' }
    ],
      // 吉林省
    '220000': [
      { value: '220100', text: '长春市' },
      { value: '220200', text: '吉林市' },
      { value: '220300', text: '四平市' },
      { value: '220400', text: '辽源市' },
      { value: '220500', text: '通化市' },
      { value: '220600', text: '白山市' },
      { value: '220700', text: '松原市' },
      { value: '220800', text: '白城市' },
      { value: '222400', text: '延边朝鲜族自治州' }
    ],
      // 黑龙江省
    '230000': [
      { value: '230100', text: '哈尔滨市' },
      { value: '230200', text: '齐齐哈尔市' },
      { value: '230300', text: '鸡西市' },
      { value: '230400', text: '鹤岗市' },
      { value: '230500', text: '双鸭山市' },
      { value: '230600', text: '大庆市' },
      { value: '230700', text: '伊春市' },
      { value: '230800', text: '佳木斯市' },
      { value: '230900', text: '七台河市' },
      { value: '231000', text: '牡丹江市' },
      { value: '231100', text: '黑河市' },
      { value: '231200', text: '绥化市' },
      { value: '232700', text: '大兴安岭地区' }
    ],
      // 上海市
    '310000': [{ value: '310100', text: '上海市' }],
      // 江苏省
    '320000': [
      { value: '320100', text: '南京市' },
      { value: '320200', text: '无锡市' },
      { value: '320300', text: '徐州市' },
      { value: '320400', text: '常州市' },
      { value: '320500', text: '苏州市' },
      { value: '320600', text: '南通市' },
      { value: '320700', text: '连云港市' },
      { value: '320800', text: '淮安市' },
      { value: '320900', text: '盐城市' },
      { value: '321000', text: '扬州市' },
      { value: '321100', text: '镇江市' },
      { value: '321200', text: '泰州市' },
      { value: '321300', text: '宿迁市' }
    ],
      // 浙江省
    '330000': [
      { value: '330100', text: '杭州市' },
      { value: '330200', text: '宁波市' },
      { value: '330300', text: '温州市' },
      { value: '330400', text: '嘉兴市' },
      { value: '330500', text: '湖州市' },
      { value: '330600', text: '绍兴市' },
      { value: '330700', text: '金华市' },
      { value: '330800', text: '衢州市' },
      { value: '330900', text: '舟山市' },
      { value: '331000', text: '台州市' },
      { value: '331100', text: '丽水市' }
    ],
      // 安徽省
    '340000': [
      { value: '340100', text: '合肥市' },
      { value: '340200', text: '芜湖市' },
      { value: '340300', text: '蚌埠市' },
      { value: '340400', text: '淮南市' },
      { value: '340500', text: '马鞍山市' },
      { value: '340600', text: '淮北市' },
      { value: '340700', text: '铜陵市' },
      { value: '340800', text: '安庆市' },
      { value: '341000', text: '黄山市' },
      { value: '341100', text: '滁州市' },
      { value: '341200', text: '阜阳市' },
      { value: '341300', text: '宿州市' },
      { value: '341500', text: '六安市' },
      { value: '341600', text: '亳州市' },
      { value: '341700', text: '池州市' },
      { value: '341800', text: '宣城市' }
    ],
      // 福建省
    '350000': [
      { value: '350100', text: '福州市' },
      { value: '350200', text: '厦门市' },
      { value: '350300', text: '莆田市' },
      { value: '350400', text: '三明市' },
      { value: '350500', text: '泉州市' },
      { value: '350600', text: '漳州市' },
      { value: '350700', text: '南平市' },
      { value: '350800', text: '龙岩市' },
      { value: '350900', text: '宁德市' }
    ],
      // 江西省
    '360000': [
      { value: '360100', text: '南昌市' },
      { value: '360200', text: '景德镇市' },
      { value: '360300', text: '萍乡市' },
      { value: '360400', text: '九江市' },
      { value: '360500', text: '新余市' },
      { value: '360600', text: '鹰潭市' },
      { value: '360700', text: '赣州市' },
      { value: '360800', text: '吉安市' },
      { value: '360900', text: '宜春市' },
      { value: '361000', text: '抚州市' },
      { value: '361100', text: '上饶市' }
    ],
      // 山东省
    '370000': [
      { value: '370100', text: '济南市' },
      { value: '370200', text: '青岛市' },
      { value: '370300', text: '淄博市' },
      { value: '370400', text: '枣庄市' },
      { value: '370500', text: '东营市' },
      { value: '370600', text: '烟台市' },
      { value: '370700', text: '潍坊市' },
      { value: '370800', text: '济宁市' },
      { value: '370900', text: '泰安市' },
      { value: '371000', text: '威海市' },
      { value: '371100', text: '日照市' },
      { value: '371200', text: '莱芜市' },
      { value: '371300', text: '临沂市' },
      { value: '371400', text: '德州市' },
      { value: '371500', text: '聊城市' },
      { value: '371600', text: '滨州市' },
      { value: '371700', text: '菏泽市' }
    ],
      // 河北省
    '410000': [
      { value: '410100', text: '郑州市' },
      { value: '410200', text: '开封市' },
      { value: '410300', text: '洛阳市' },
      { value: '410400', text: '平顶山市' },
      { value: '410500', text: '安阳市' },
      { value: '410600', text: '鹤壁市' },
      { value: '410700', text: '新乡市' },
      { value: '410800', text: '焦作市' },
      { value: '410900', text: '濮阳市' },
      { value: '411000', text: '许昌市' },
      { value: '411100', text: '漯河市' },
      { value: '411200', text: '三门峡市' },
      { value: '411300', text: '南阳市' },
      { value: '411400', text: '商丘市' },
      { value: '411500', text: '信阳市' },
      { value: '411600', text: '周口市' },
      { value: '411700', text: '驻马店市' },
      { value: '419000', text: '省直辖县级行政区划' }
    ],
      // 湖北省
    '420000': [
      { value: '420100', text: '武汉市' },
      { value: '420200', text: '黄石市' },
      { value: '420300', text: '十堰市' },
      { value: '420500', text: '宜昌市' },
      { value: '420600', text: '襄阳市' },
      { value: '420700', text: '鄂州市' },
      { value: '420800', text: '荆门市' },
      { value: '420900', text: '孝感市' },
      { value: '421000', text: '荆州市' },
      { value: '421100', text: '黄冈市' },
      { value: '421200', text: '咸宁市' },
      { value: '421300', text: '随州市' },
      { value: '422800', text: '恩施土家族苗族自治州' },
      { value: '429000', text: '省直辖县级行政区划' }
    ],
      // 湖南省
    '430000': [
      { value: '430100', text: '长沙市' },
      { value: '430200', text: '株洲市' },
      { value: '430300', text: '湘潭市' },
      { value: '430400', text: '衡阳市' },
      { value: '430500', text: '邵阳市' },
      { value: '430600', text: '岳阳市' },
      { value: '430700', text: '常德市' },
      { value: '430800', text: '张家界市' },
      { value: '430900', text: '益阳市' },
      { value: '431000', text: '郴州市' },
      { value: '431100', text: '永州市' },
      { value: '431200', text: '怀化市' },
      { value: '431300', text: '娄底市' },
      { value: '433100', text: '湘西土家族苗族自治州' }
    ],
      // 广东省
    '440000': [
      { value: '440100', text: '广州市' },
      { value: '440200', text: '韶关市' },
      { value: '440300', text: '深圳市' },
      { value: '440400', text: '珠海市' },
      { value: '440500', text: '汕头市' },
      { value: '440600', text: '佛山市' },
      { value: '440700', text: '江门市' },
      { value: '440800', text: '湛江市' },
      { value: '440900', text: '茂名市' },
      { value: '441200', text: '肇庆市' },
      { value: '441300', text: '惠州市' },
      { value: '441400', text: '梅州市' },
      { value: '441500', text: '汕尾市' },
      { value: '441600', text: '河源市' },
      { value: '441700', text: '阳江市' },
      { value: '441800', text: '清远市' },
      { value: '441900', text: '东莞市' },
      { value: '442000', text: '中山市' },
      { value: '445100', text: '潮州市' },
      { value: '445200', text: '揭阳市' },
      { value: '445300', text: '云浮市' }
    ],
      // 广西壮族自治区
    '450000': [
      { value: '450100', text: '南宁市' },
      { value: '450200', text: '柳州市' },
      { value: '450300', text: '桂林市' },
      { value: '450400', text: '梧州市' },
      { value: '450500', text: '北海市' },
      { value: '450600', text: '防城港市' },
      { value: '450700', text: '钦州市' },
      { value: '450800', text: '贵港市' },
      { value: '450900', text: '玉林市' },
      { value: '451000', text: '百色市' },
      { value: '451100', text: '贺州市' },
      { value: '451200', text: '河池市' },
      { value: '451300', text: '来宾市' },
      { value: '451400', text: '崇左市' }
    ],
      // 海南省
    '460000': [
      { value: '460100', text: '海口市' },
      { value: '460200', text: '三亚市' },
      { value: '460300', text: '三沙市' },
      { value: '460400', text: '儋州市' },
      { value: '469000', text: '省直辖县级行政区划' }
    ],
      // 重庆市
    '500000': [{ value: '500100', text: '重庆市' }],
      // 四川省
    '510000': [
      { value: '510100', text: '成都市' },
      { value: '510300', text: '自贡市' },
      { value: '510400', text: '攀枝花市' },
      { value: '510500', text: '泸州市' },
      { value: '510600', text: '德阳市' },
      { value: '510700', text: '绵阳市' },
      { value: '510800', text: '广元市' },
      { value: '510900', text: '遂宁市' },
      { value: '511000', text: '内江市' },
      { value: '511100', text: '乐山市' },
      { value: '511300', text: '南充市' },
      { value: '511400', text: '眉山市' },
      { value: '511500', text: '宜宾市' },
      { value: '511600', text: '广安市' },
      { value: '511700', text: '达州市' },
      { value: '511800', text: '雅安市' },
      { value: '511900', text: '巴中市' },
      { value: '512000', text: '资阳市' },
      { value: '513200', text: '阿坝藏族羌族自治州' },
      { value: '513300', text: '甘孜藏族自治州' },
      { value: '513400', text: '凉山彝族自治州' }
    ],
      // 贵州省
    '520000': [
      { value: '520100', text: '贵阳市' },
      { value: '520200', text: '六盘水市' },
      { value: '520300', text: '遵义市' },
      { value: '520400', text: '安顺市' },
      { value: '520500', text: '毕节市' },
      { value: '520600', text: '铜仁市' },
      { value: '522300', text: '黔西南布依族苗族自治州' },
      { value: '522600', text: '黔东南苗族侗族自治州' },
      { value: '522700', text: '黔南布依族苗族自治州' }
    ],
      // 云南省
    '530000': [
      { value: '530100', text: '昆明市' },
      { value: '530300', text: '曲靖市' },
      { value: '530400', text: '玉溪市' },
      { value: '530500', text: '保山市' },
      { value: '530600', text: '昭通市' },
      { value: '530700', text: '丽江市' },
      { value: '530800', text: '普洱市' },
      { value: '530900', text: '临沧市' },
      { value: '532300', text: '楚雄彝族自治州' },
      { value: '532500', text: '红河哈尼族彝族自治州' },
      { value: '532600', text: '文山壮族苗族自治州' },
      { value: '532800', text: '西双版纳傣族自治州' },
      { value: '532900', text: '大理白族自治州' },
      { value: '533100', text: '德宏傣族景颇族自治州' },
      { value: '533300', text: '怒江傈僳族自治州' },
      { value: '533400', text: '迪庆藏族自治州' }
    ],
      // 西藏自治区
    '540000': [
      { value: '540100', text: '拉萨市' },
      { value: '540200', text: '日喀则市' },
      { value: '540300', text: '昌都市' },
      { value: '540400', text: '林芝市' },
      { value: '540500', text: '山南市' },
      { value: '540600', text: '那曲市' },
      { value: '542500', text: '阿里地区' }
    ],
      // 陕西省
    '610000': [
      { value: '610100', text: '西安市' },
      { value: '610200', text: '铜川市' },
      { value: '610300', text: '宝鸡市' },
      { value: '610400', text: '咸阳市' },
      { value: '610500', text: '渭南市' },
      { value: '610600', text: '延安市' },
      { value: '610700', text: '汉中市' },
      { value: '610800', text: '榆林市' },
      { value: '610900', text: '安康市' },
      { value: '611000', text: '商洛市' }
    ],
      // 甘肃省
    '620000': [
      { value: '620100', text: '兰州市' },
      { value: '620200', text: '嘉峪关市' },
      { value: '620300', text: '金昌市' },
      { value: '620400', text: '白银市' },
      { value: '620500', text: '天水市' },
      { value: '620600', text: '武威市' },
      { value: '620700', text: '张掖市' },
      { value: '620800', text: '平凉市' },
      { value: '620900', text: '酒泉市' },
      { value: '621000', text: '庆阳市' },
      { value: '621100', text: '定西市' },
      { value: '621200', text: '陇南市' },
      { value: '622900', text: '临夏回族自治州' },
      { value: '623000', text: '甘南藏族自治州' }
    ],
      // 青海省
    '630000': [
      { value: '630100', text: '西宁市' },
      { value: '630200', text: '海东市' },
      { value: '632200', text: '海北藏族自治州' },
      { value: '632300', text: '黄南藏族自治州' },
      { value: '632500', text: '海南藏族自治州' },
      { value: '632600', text: '果洛藏族自治州' },
      { value: '632700', text: '玉树藏族自治州' },
      { value: '632800', text: '海西蒙古族藏族自治州' }
    ],
      // 宁夏回族自治区
    '640000': [
      { value: '640100', text: '银川市' },
      { value: '640200', text: '石嘴山市' },
      { value: '640300', text: '吴忠市' },
      { value: '640400', text: '固原市' },
      { value: '640500', text: '中卫市' }
    ],
      // 新疆维吾尔自治区
    '650000': [
      { value: '650100', text: '乌鲁木齐市' },
      { value: '650200', text: '克拉玛依市' },
      { value: '650400', text: '吐鲁番市' },
      { value: '650500', text: '哈密市' },
      { value: '652300', text: '昌吉回族自治州' },
      { value: '652700', text: '博尔塔拉蒙古自治州' },
      { value: '652800', text: '巴音郭楞蒙古自治州' },
      { value: '652900', text: '阿克苏地区' },
      { value: '653000', text: '克孜勒苏柯尔克孜自治州' },
      { value: '653100', text: '喀什地区' },
      { value: '653200', text: '和田地区' },
      { value: '654000', text: '伊犁哈萨克自治州' },
      { value: '654200', text: '塔城地区' },
      { value: '654300', text: '阿勒泰地区' },
      { value: '659000', text: '自治区直辖县级行政区划' }
    ]
  },
  districts: {
    ...districtsData
  }
}

// 获取所有省份
export function getProvinces() {
  return regionData.provinces
}

// 获取指定省份的所有城市
export function getCities(provinceCode) {
  return regionData.cities[provinceCode] || []
}

// 获取指定城市的所有区县
export function getDistricts(cityCode) {
  return regionData.districts[cityCode] || []
}

// 根据编码获取地区名称
export function getRegionName(code) {
  if (!code) return ''
  
  // 省级
  if (code.length === 6 && code.endsWith('0000')) {
    const province = regionData.provinces.find(p => p.value === code)
    return province ? province.text : ''
  }
  
  // 市级
  if (code.length === 6 && code.endsWith('00')) {
    for (const province of regionData.provinces) {
      const cities = regionData.cities[province.value] || []
      const city = cities.find(c => c.value === code)
      if (city) return city.text
    }
    return ''
  }
  
  // 区县级
  for (const province of regionData.provinces) {
    const cities = regionData.cities[province.value] || []
    for (const city of cities) {
      const districts = regionData.districts[city.value] || []
      const district = districts.find(d => d.value === code)
      if (district) return district.text
    }
  }
  
  return ''
}

// 获取完整的地区名称（省市区）
export function getFullRegionName(code) {
  if (!code || code.length !== 6) return ''
  
  const provinceCode = code.substring(0, 2) + '0000'
  const cityCode = code.substring(0, 4) + '00'
  
  const province = regionData.provinces.find(p => p.value === provinceCode)
  if (!province) return ''
  
  const cities = regionData.cities[provinceCode] || []
  const city = cities.find(c => c.value === cityCode)
  if (!city) return province.text
  
  const districts = regionData.districts[cityCode] || []
  const district = districts.find(d => d.value === code)
  if (!district) return province.text + city.text
  
  return province.text + city.text + district.text
} 